const CompressionPlugin = require('compression-webpack-plugin')
const path = require('path')
const apiMocker = require('webpack-api-mocker')
module.exports = {
  // 打包资源路径前缀
  publicPath: './',

  // 不打包map文件
  productionSourceMap: false,

  configureWebpack: () => {
    if (process.env.NODE_ENV === 'production') {
      return {
        plugins: [new CompressionPlugin({
          test: /\.js$|\.html$|\.css/, // 指定压缩文件
          threshold: 10240, // 超过10kb的文件进行压缩
          deleteOriginalAssets: false // 是否删除原文件
        })]
      }
    }
  },
  pluginOptions: {
    'style-resources-loader': {
      preProcessor: 'less',
      patterns: []
    }
  },
  chainWebpack: config => {
    config
      .plugin('html')
      .tap(args => {
        args[0].title = 'web03.cn'
        return args
      })
  },
  devServer: {
    before(app) {
      // 注意，此处引用的是自定义的接口文件
      apiMocker(app, path.resolve('./src/mocker/index.js'), {
        changeHost: true
      })
    }
  }
}
